#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//void reverse(int* nums, int left, int right) {
//	while (left < right) {
//		int temp = nums[left];
//		nums[left] = nums[right];
//		nums[right] = temp;
//		left++;
//		right--;
//	}
//}
//
//void rotate(int* nums, int numsSize, int k) {
//	k %= numsSize;
//	reverse(nums, 0, numsSize - 1 - k);
//	reverse(nums, numsSize - k, numsSize - 1);
//	reverse(nums, 0, numsSize - 1);
//}
//
//int main() {
//	int nums[] = {1, 2, 3, 4, 5, 6, 7};
//	for (int i = 0; i < 7; i++) {
//		printf("%d", nums[i]);
//	}
//	printf("\n");
//	rotate(nums, 7, 3);
//	for (int i = 0; i < 7; i++) {
//		printf("%d", nums[i]);
//	}
//	return 0;
//}

int missingNumber(int* nums, int numsSize) {
	int n[100];
	int res = 0;
	for (int i = 0; i < numsSize + 1; i++) {
		n[i] = i;
	}
	int i = 0;
	for (i; i < numsSize; i++) {
		res = res ^ n[i] ^ nums[i];
	}
	res ^= n[i];
	return res;
}

int main() {
	int nums[] = { 1,0,3 };
	int res = missingNumber(nums, 3);
	printf("%d\n", res);
	return 0;
}